home *** CD-ROM | disk | FTP | other *** search
- PAGE 60,132
- TITLE LOCK V1.1 - RECALLS PASSWORD DEVICE DRIVER CODE
-
- ;-----------------------------------------------------------------------
- ; LOCK V1.1
- ;
- ; LOCK IS DESIGNED TO WORK IN CONJUNCTION WITH PASSWRD3.SYS.
- ; ITS PURPOSE IT TO CALL A PORTION OF CODE INTERNAL TO THE
- ; DEVICE DRIVER PASSWRD3.SYS. THIS WILL ENABLE A USER TO "LOCK"
- ; THE PC UNTIL A USER REPLIES WITH THE CORRECT PASSWORD.
- ; ** CAUTION BEWARE OF UPPER CASE VS LOWER CASE WHEN RESPONDING **
- ;
- ; THIS CODE WILL CHECK THE INTERUPT VECTOR 66h FOR A NON ZERO SEGMENT
- ; REFERENCE BEFORE CALLING THE PASSWORD ROUTINE. PASSWRD3.SYS WILL
- ; INITIALIZE THIS INTERUPT A BOOT TIME. SINCE THE PASSWRD3.SYS
- ; DEVICE DRIVER, LIKE ANY DEVICE DRIVER, REMAINS RESIDENT THE USER
- ; IS ASSURED THAT HE ONLY NEED CHANGE PASSWRD3.SYS IN ORDER TO
- ; CHANGE THE SYSTEM PASSWRD.
- ;
- ; JOHN R. PETROCELLI
- ; 02/25/85
- ;
- ;----------------------------------------------------------------------
- ;
- INT_VECTORS SEGMENT AT 0H ; POINT TO INTERUPT VECTOR TABLE
- ORG 66H*4 ; INT 66H
- ASK_OFF DW ; OFFSET OF PASSWORD RECALL
- ASK_SEG DW ; SEGMENT OF PASSWORD RECALL
- INT_VECTORS ENDS
-
- CODE_SEG SEGMENT PARA 'CODE'
-
- ASSUME CS:CODE_SEG, DS:CODE_SEG, ES:INT_VECTORS, SS:NOTHING
-
- ORG 100H ; NEEDED FOR A .COM PROGRAM
-
- BEGIN:
- PUSH DS ; SAVE REGISTERS FOR
- PUSH ES ; GOOD HOUSKEEPING (NO PUN
- PUSH AX ; INTENDED)
- PUSH BX ;
- PUSH DX ;
-
- MOV AX,0 ; SET ES TO REFERENCE
- MOV ES,AX ; INT_VECTORS
-
- MOV AX,CS ; SET DS TO REFERENCE
- MOV DS,AX ; CODE_SEG
-
- LEA BX,ASK_OFF ; SET ES:BX TO POINT TO
- ; LOCATION IN THE INT VECTOR
- ; TABLE CONTAINING SEG & OFFSET
- ; OF PASSWORD RECALL ROUTINE
-
- MOV AX,ES:[BX+2] ; LOAD AX WITH SEGMENT OF CALL
- CMP AX,0 ; AND IF THE SEGMENT IS 0 THEN
- JZ ERROR_EXIT ; EXIT - NOT INITIALIZED
-
- CALL DWORD PTR ES:[BX] ; CALL PWORD IF INSTALLED
- ; ES:BX WILL POINT TO THE ADDRESS
- ; OF THE ROUTINE TO BE CALLED
-
- EXIT:
- POP DX ; RESTORE REGISTERS FOR
- POP BX ; GOOD HOUSKEEPING (NO PUN
- POP AX ; INTENDED)
- POP ES ;
- POP DS ;
-
- RET ; RETURN TO DOS
-
- ERROR_EXIT: ; SEGMENT AND/OR OFFSET
- ; WERE 0000 SO WE DON'T CALL
- ; JUST PRINT ERROR MESSAGE
-
- MOV DX,OFFSET NO_INIT ; DS:DX POINTS TO ERROR MSG
- MOV AX,0900H ; SET UP AX TO PRINT DS:DX
- INT 21H ; PRINT ERROR MSG
-
- JMP EXIT ; RETURN TO DOS
-
- NOP ; PAD
- NOP ; PAD
- NOP ; PAD
-
- NO_INIT DB 1BH,'[5m', ; MAKE "PASSWORD" BLINK
- DB ' PASSWORD '
- DB 1BH,'[0m' ; ATTRIBUTES TO NORMAL
- DB ' Device Driver Does Not'
- DB ' Appear To Be Installed'
- DB 07H,0DH,0AH,'$' ; BEEP+CR+LF
-
- CODE_SEG ENDS
-
- END BEGIN